package com.hundsun.cprs.yyt.service.plate.service;

import java.util.List;

import com.hundsun.cprs.yyt.service.plate.domain.Plate;
import com.hundsun.cprs.yyt.service.plate.domain.PlateInfo;
import com.hundsun.cprs.yyt.service.plate.domain.query.PlateQuery;

public interface PlateService {
    
    public static String DYNAMIC_FORM_CODE = "PLATE_CODE";
    
	/**
	 * 分页查询板块列表
	 * @param query
	 * */
	public void selectPlateByPage(PlateQuery query);
	/**
	 * 创建板块
	 * @param plate
	 * 
	 */
	public abstract void createPlate(PlateInfo plate);
	/**
	 * 查找下一个自增id
	 * 
	 * */
	public abstract Long selectProjectPlateId();
	/**
	 * 根据专场的排序号查找专场，用于判断排序号是否重复
	 * 
	 * */
	public abstract List<Plate> selectPlateBySort(Long plateSort);
	/**
	 * 根据专场的编码查找专场，用于判断专场编码是否重复
	 * 
	 * */
	public abstract List<Plate> selectPlateByCode(String plateCode);
	/**
	 * 根据id查询板块信息
	 * @param id
	 * */
	public abstract Plate selectPlateById(Long id);
	
	/**
	 * 根据主键获取专场详情
	 * @param id
	 * @return
	 */
	PlateInfo selectPlateInfoById(Long id);
	/**
	 * 根据id修改板块信息
	 * @param plate
	 * */
	public abstract void update(PlateInfo plate);
	/**
	 * 查询板块列表
	 * @param query
	 * 
	 */
	public abstract List<Plate> selectPlateList(PlateQuery query);
	/**
	 * 查询板块在首页轮播列表
	 * 
	 */
	public abstract List<Plate> selectTopShowList();

    List<Plate> getPlateList();
	
	/**
	 * 获取配置的专场信息，如新人专场
	 * @return
	 */
	List<Plate> getConfigPlateList();
	
	/**
	 * 获取新人专场
	 * @return
	 */
	Plate getNewPlate();
	
	void deletePlate(Long plateId);
	
}
